Benjamin Otte [Tue, 27 Jan 2015 04:03:52 +0000 (05:03 +0100)]
css: Remove _gtk_css_style_property_changes_affect_size()
... and _gtk_css_style_property_changes_affect_font().
Replace it with _gtk_css_style_property_get_mask_affecting().
Benjamin Otte [Tue, 27 Jan 2015 03:48:35 +0000 (04:48 +0100)]
image: Use _gtk_css_style_property_get_mask_affecting()
... to avoid recomputing the cached surface all the time.
Benjamin Otte [Tue, 27 Jan 2015 03:47:55 +0000 (04:47 +0100)]
css: Add _gtk_css_style_property_get_mask_affecting()
Computes a bitmask for all properties that affect the given flags.
Benjamin Otte [Tue, 27 Jan 2015 03:36:00 +0000 (04:36 +0100)]
css: Remove GtkCssStyleProperty::affects-size
... and GtkCssStyleProperty::affects-font properties. Code now uses
GtkCssStyleProperty::affects instead.
Benjamin Otte [Tue, 27 Jan 2015 03:32:09 +0000 (04:32 +0100)]
css: Add GtkCssStyleProperty::affects property
Benjamin Otte [Mon, 26 Jan 2015 23:25:05 +0000 (00:25 +0100)]
css: Add a -gtk-icon-theme CSS property
The property is useless to set (it only allows 'initial', 'inherit' and
'unset' as values), but it is used to track changes to the icon theme.
And as such, it can ensure that widgets can track when they need to
reload icons.
https://bugzilla.gnome.org/show_bug.cgi?id=743341
Mike Gorse [Mon, 26 Jan 2015 20:59:50 +0000 (14:59 -0600)]
A11y: fix typo when initializing a container cell accessible
Gtk_container_cell_widget_set should chain up to its parent's set
function, not its parent's unset function. This was resulting in
accessibles being erroneously marked defunct after being created.
Yosef Or Boczko [Mon, 26 Jan 2015 20:13:52 +0000 (22:13 +0200)]
Updated Properties Hebrew translation
Yosef Or Boczko [Mon, 26 Jan 2015 20:12:48 +0000 (22:12 +0200)]
Updated Hebrew translation
Matthias Clasen [Sun, 25 Jan 2015 00:31:11 +0000 (19:31 -0500)]
x11: Handle obsolete selection requests without crashing
The ICCCM says:
If the specified property is None, the requestor is an obsolete client.
Owners are encouraged to support these clients by using the specified
target atom as the property name to be used for the reply.
Lets do that, instead of crashing.
https://bugzilla.gnome.org/show_bug.cgi?id=740613
The previous fix for this issue in
732af31424b8f382d was incomplete.
Matthias Clasen [Sun, 25 Jan 2015 00:25:50 +0000 (19:25 -0500)]
Trivial doc fixes
Remove two erroneous quotation marks.
Christoph Reiter [Tue, 20 Jan 2015 16:54:03 +0000 (17:54 +0100)]
GtkFileChooserWidget: Fix a crash for when the widget was unrefed right after setting a current folder.
Keep a reference to the widget while the async operation is ongoing.
https://bugzilla.gnome.org/show_bug.cgi?id=725164
Christoph Reiter [Tue, 20 Jan 2015 16:48:54 +0000 (17:48 +0100)]
GtkFileChooserWidget: remove unused fields and cleanup code.
These fields are never set, so we don't need the code to clean them up.
https://bugzilla.gnome.org/show_bug.cgi?id=725164
Matthias Clasen [Sat, 24 Jan 2015 22:25:43 +0000 (17:25 -0500)]
wayland: Don't claim to support selection notification
We don't support selection notification, so don't claim
we do, only to fail later.
https://bugzilla.gnome.org/show_bug.cgi?id=743229
Matthias Clasen [Sat, 24 Jan 2015 21:45:04 +0000 (16:45 -0500)]
Initialize variables
No need to risk valgrind complaints about initialized
values.
https://bugzilla.gnome.org/show_bug.cgi?id=743422
Debarshi Ray [Wed, 21 Jan 2015 10:28:19 +0000 (11:28 +0100)]
GtkTreeModel: Documentation fix
https://bugzilla.gnome.org/show_bug.cgi?id=743286
Christoph Reiter [Mon, 19 Jan 2015 17:06:03 +0000 (18:06 +0100)]
Fix transfer annotation for tree_model parameter of gtk_tree_get_row_drag_data() and add nullable, optional
The GtkSelectionData does not own the model set with
gtk_tree_set_row_drag_data so change the out param to "transfer none".
This fixes a crash after multiple DnD actions due to the bindings
stealing a reference each time this function is called.
This also adds nullable and optional annotations for tree_model and path while at it.
https://bugzilla.gnome.org/show_bug.cgi?id=743193
Timm Bäder [Fri, 23 Jan 2015 10:21:02 +0000 (11:21 +0100)]
gtkdnd: Set the dnd window's screen before its visual
This makes dnd icons work for widgets on a !default screen.
https://bugzilla.gnome.org/show_bug.cgi?id=743393
Matthias Clasen [Sat, 24 Jan 2015 18:32:31 +0000 (13:32 -0500)]
file chooser: search improvements
Make it so that typing switches to search unless we have a better
use for the key events, and stop search if the entry is emptied.
Matthias Clasen [Sat, 24 Jan 2015 13:04:36 +0000 (08:04 -0500)]
file chooser: Turn off typeahead search
It is the third kind of navigation entry in the file chooser after
the location entry and search, and it interacts badly with both
of the others.
Matthias Clasen [Sat, 27 Dec 2014 23:53:21 +0000 (18:53 -0500)]
gtk-demo: Show search entry signals
Matthias Clasen [Sat, 27 Dec 2014 23:29:07 +0000 (18:29 -0500)]
Use the new API in GtkSearchBar if we can
Sadly, GtkSearchBar allows connecting plain entries, so we have
to keep the old code around.
Matthias Clasen [Tue, 25 Nov 2014 03:44:44 +0000 (22:44 -0500)]
inspector: Use some of the new GtkSearchEntry API
Avoid repetitive, manual event handling in various places
in GtkInspector.
Matthias Clasen [Tue, 25 Nov 2014 03:40:45 +0000 (22:40 -0500)]
GtkSearchEntry: Add more API
Add ::next-match, ::previous-match and ::stop-search keybinding
signals that are bound to Ctrl-g, Ctrl-Shift-g and Escape. Also
add a gtk_search_entry_handle_event() function to handle key events.
Sveinn í Felli [Fri, 23 Jan 2015 13:37:21 +0000 (13:37 +0000)]
Updated Icelandic translation
Timm Bäder [Thu, 22 Jan 2015 12:40:12 +0000 (13:40 +0100)]
inspector: Make gl extension rows unactivatable
Piotr Drąg [Thu, 22 Jan 2015 19:20:43 +0000 (20:20 +0100)]
Updated POTFILES.skip
Benjamin Otte [Thu, 22 Jan 2015 14:47:36 +0000 (15:47 +0100)]
roundedbox: Treat path segments differently
If a side of the box is 0px wide, make the corners owned by the adjacent
sides. This avoids spilling over of unwanted colors from the 0-width
side into the corner.
New test for this case is included.
Benjamin Otte [Thu, 22 Jan 2015 13:36:33 +0000 (14:36 +0100)]
widget: Compute clip of children properly
For widgets with a window, we need to adjust the allocation of their
children.
Benjamin Otte [Thu, 22 Jan 2015 13:33:26 +0000 (14:33 +0100)]
widget: Correctly handle which widgets to include in the clip
Previously, we would not include any child widget on the first
allocation, which happens right after realize(), but before map(). No
widget is drawable at that point.
Benjamin Otte [Thu, 22 Jan 2015 13:33:03 +0000 (14:33 +0100)]
widget: Add debug spew for setting the clip
Benjamin Otte [Thu, 22 Jan 2015 13:32:38 +0000 (14:32 +0100)]
headerbar: Implement clipping
Benjamin Otte [Wed, 21 Jan 2015 15:22:30 +0000 (16:22 +0100)]
border: Don't special case according to border styles
This is now done (as it should) in the compute code.
Sebastian Keller [Wed, 21 Jan 2015 14:29:54 +0000 (15:29 +0100)]
css: Move "border-style: none" special case to CssValueNumber
This fixes the background being shifted by the border-width even though
the border-style was none.
Benjamin Otte [Wed, 21 Jan 2015 01:16:44 +0000 (02:16 +0100)]
stylecontext: Don't do unnecessary workarounds
when calling get_padding/border/margin, there is no need to go through
the fallback API.
This is a huge speedup for certain benchmarks.
Sebastian Keller [Wed, 21 Jan 2015 00:14:55 +0000 (01:14 +0100)]
render: fix arrow orientation
The rotation code in the draw_arrow function was assuming that the arrow
would be drawn pointing upwards but it was pointing to the right
resulting in the rotated arrows pointing in the wrong direction.
The recent refactoring caused a pi/2 rotation to be lost. Rather than
adding that back somehwere (to lose it again in the future), we just
draw the arrow pointing upwards as it is expected to do with a 0 angle.
Matthias Clasen [Tue, 20 Jan 2015 13:18:03 +0000 (08:18 -0500)]
3.15.4
Matthias Clasen [Tue, 20 Jan 2015 11:46:58 +0000 (06:46 -0500)]
More updates
Benjamin Otte [Tue, 20 Jan 2015 05:25:01 +0000 (06:25 +0100)]
image: Compute clip properly
Use the helper function we have for this, don't do it manually. This has
the side effect of also supporting icon transforms.
Benjamin Otte [Tue, 20 Jan 2015 04:54:45 +0000 (05:54 +0100)]
render: Implement -gtk-icon-transform for icon surfaces
Yes, I like playing around. To enjoy, add this CSS to your application
of choice (preferrably glade or something with lots of images):
GtkImage { animation: spin 2s linear infinite; }
You can thank me later.
Benjamin Otte [Tue, 20 Jan 2015 04:21:15 +0000 (05:21 +0100)]
render: Split icon surface rendering out
Just like normal icons, icon surfaces belong into gtkrendericon.c.
Benjamin Otte [Tue, 20 Jan 2015 00:48:46 +0000 (01:48 +0100)]
render: Split icon rendering into its own file
Benjamin Otte [Mon, 19 Jan 2015 16:41:29 +0000 (17:41 +0100)]
render: Remove spinner special-cases
The spinner is a regular builtin image now. There is no need to go
through the shadows code manually anymore as regular items do get
shadows automatically.
This also allows simplifying the actual spinner drawing code so that it
actually works.
Benjamin Otte [Mon, 19 Jan 2015 16:30:43 +0000 (17:30 +0100)]
render: Render builtin images as regular CSS images
This not only reduces code, but also allows for builtin images to have
shadows or be transformed using -gtk-icon-transform.
Benjamin Otte [Mon, 19 Jan 2015 16:14:55 +0000 (17:14 +0100)]
render: Don't require passing CSS properties to builtin images
Instead, make the buiultin image get those properties itself in the
compute vfunc.
Benjamin Otte [Mon, 19 Jan 2015 16:09:42 +0000 (17:09 +0100)]
css: Move icon properties to the end
The order in which properties are defined depends on the order in which
they are computed. And that means that properties can only depend on
other properties that are defined before them.
The next patches will need this reordering.
Benjamin Otte [Mon, 19 Jan 2015 04:44:47 +0000 (05:44 +0100)]
render: Only render 4 different arrows
Instead of supporting every angle, just support top, right, bottom and
left and round the angle to one of those directions.
Adwaita overrides arrows anyway and doesn't even look at the angle, so
this should not be a problem.
Benjamin Otte [Mon, 19 Jan 2015 03:40:24 +0000 (04:40 +0100)]
render: Don't pass junction sides to builtin image
Instead, split the grip into 8 different builtin images (one for each
side and corner).
Benjamin Otte [Mon, 19 Jan 2015 03:27:31 +0000 (04:27 +0100)]
render: Extend builtin images to account for states
We add to the enum to account for the images generated for different
states.
Benjamin Otte [Sun, 18 Jan 2015 19:24:27 +0000 (20:24 +0100)]
render: Move code for rendering builtin images
Also, make it have a generic entry point with
gtk_css_image_builtin_draw().
The only feature lost so is the drawing of shadows for spinners, but
that will come back later.
Benjamin Otte [Sat, 17 Jan 2015 23:17:57 +0000 (00:17 +0100)]
inspector: Remove unused hash table
Benjamin Otte [Sat, 17 Jan 2015 23:14:08 +0000 (00:14 +0100)]
inspector: Remove unused treemodel properties
As a side effect, we can use _gtk_css_section_to_string() to format the
section and save a lot of code.
Benjamin Otte [Sat, 17 Jan 2015 17:55:34 +0000 (18:55 +0100)]
inspector: Use GtkCssStyle and gtk_css_value_to_string()
Benjamin Otte [Sat, 17 Jan 2015 17:15:19 +0000 (18:15 +0100)]
render: Move border rendering into its own file
gtkrenderborder.c now contains the implementation for
gtk_css_style_render_border
gtk_css_style_render_outline
Benjamin Otte [Sat, 17 Jan 2015 17:09:52 +0000 (18:09 +0100)]
render: Remove unused header
Benjamin Otte [Sat, 17 Jan 2015 17:00:03 +0000 (18:00 +0100)]
render: Rename gtkborderimage.[ch]
I want the gtkrender prefix for all filenames about rendering.
Benjamin Otte [Sat, 17 Jan 2015 16:07:01 +0000 (17:07 +0100)]
render: Use a GtkCssStyle instead of GtkStyleContext for focus
Benjamin Otte [Sat, 17 Jan 2015 15:55:45 +0000 (16:55 +0100)]
render: Rename gtkthemingbackground.[ch]
I want the gtkrender prefix for all filenames about rendering.
Benjamin Otte [Sat, 17 Jan 2015 04:54:36 +0000 (05:54 +0100)]
render: Take a GtkCssStyle for rendering frames
... and move the whole function into gtkthemingbackground.c
Benjamin Otte [Sat, 17 Jan 2015 04:27:23 +0000 (05:27 +0100)]
borderimage: Use a GtkCssStyle instead of GtkStyleContext
Benjamin Otte [Sat, 17 Jan 2015 04:23:00 +0000 (05:23 +0100)]
themingbackground: Use a GtkCssStyle instead of GtkStyleContext
Benjamin Otte [Sat, 17 Jan 2015 04:16:01 +0000 (05:16 +0100)]
roundedbox: Take a GtkCssStyle instead of a GtkStyleContext
This is in preparation for iusing GtkCssStyle instead of GtkStyleContext
in render functions.
Benjamin Otte [Sat, 17 Jan 2015 01:38:43 +0000 (02:38 +0100)]
stylecontext: Rename function and export it.
The name now better reflects what it does, since GtkCssComputedValues
was renamed to GtkCssStyle, too.
Benjamin Otte [Tue, 20 Jan 2015 00:15:04 +0000 (01:15 +0100)]
reftests: Fix border-style-none reftest
Unset all CSS; Adwaita was messing up things.
Benjamin Otte [Tue, 20 Jan 2015 00:02:59 +0000 (01:02 +0100)]
dnd: Draw dnd icon with regular code
Overriding the window background is ugly because the window background
is owned by GTK and can be reset at any time.
https://bugzilla.gnome.org/show_bug.cgi?id=742646
Benjamin Otte [Mon, 19 Jan 2015 23:33:34 +0000 (00:33 +0100)]
stylecontext: Keep track of the CSS ID
This is necessary since we do the new caching and need to distinguish
between styles with different IDs.
Fixes various test cases.
Aurimas Černius [Mon, 19 Jan 2015 21:00:55 +0000 (23:00 +0200)]
Updated Lithuanian translation
Daniel Mustieles [Mon, 19 Jan 2015 17:26:58 +0000 (18:26 +0100)]
Updated Spanish translation
Daniel Mustieles [Mon, 19 Jan 2015 17:26:39 +0000 (18:26 +0100)]
Updated Spanish translation
Matthias Clasen [Mon, 19 Jan 2015 16:57:10 +0000 (11:57 -0500)]
path bar: Don't segfault if we get disposed quickly
The file chooser code now calls into the path bar in init,
starting an async operation. This unveiled that the path bar
code was not safe against being disposed early, by causing
a crahsh of the objects-finalize test.
Fix this by making the callback check for CANCELLED.
Matthias Clasen [Mon, 19 Jan 2015 16:02:36 +0000 (11:02 -0500)]
Updates for 3.15.4
Matthias Clasen [Mon, 19 Jan 2015 14:29:17 +0000 (09:29 -0500)]
places sidebar: Drop the top margin
This looks odd in combination with the top underflow.
Carlos Garnacho [Tue, 18 Nov 2014 13:25:51 +0000 (14:25 +0100)]
x11: Fetch vendor/product identifiers for input devices
These are retrieved from XInput device properties.
https://bugzilla.gnome.org/show_bug.cgi?id=740758
Carlos Garnacho [Tue, 18 Nov 2014 13:24:52 +0000 (14:24 +0100)]
device: Add property/getters for vendor/product identifiers
These are a construct only properties, expected to be filled in from
platform specific code.
https://bugzilla.gnome.org/show_bug.cgi?id=740758
Matthias Clasen [Mon, 19 Jan 2015 12:32:31 +0000 (07:32 -0500)]
gtk-demo: Make editable cells demo more robust
When removing all rows, trying to add rows would not work
and throw criticals. This is fallout from a recent change
to insert rows at the right position. Fix this by handling
the 'empty model' case separately.
https://bugzilla.gnome.org/show_bug.cgi?id=743157
Carlos Garnacho [Fri, 16 Jan 2015 12:18:09 +0000 (13:18 +0100)]
scrolledwindow: Don't displace invalidation by the widget allocation
This was left unmodified when GtkScrolledWindow was made a windowed widget.
Displacing here by the widget allocation is not necessary anymore, since
we are invalidating the window set at these coordinates.
This patch is a simplification of a previous one by Timm Bäder.
https://bugzilla.gnome.org/show_bug.cgi?id=742243
Benjamin Otte [Mon, 19 Jan 2015 01:18:59 +0000 (02:18 +0100)]
stylecontext: Fix FALSE/TRUE mixup
Introduced in
e649c8773f0357df19f4e28aabf40a203a39c409. It's obviously
the root node right there.
Matthias Clasen [Mon, 19 Jan 2015 01:01:55 +0000 (20:01 -0500)]
scrolled window: Reduce the hover proximity distance further
Matthias Clasen [Mon, 19 Jan 2015 00:42:58 +0000 (19:42 -0500)]
file chooser: Fix up some focus issues
Better to switch the visible stack child early, since GtkStack
has its own focus handling now.
Lars Uebernickel [Mon, 12 Jan 2015 08:04:11 +0000 (09:04 +0100)]
gtkimagemenuitem: create widget for action icons lazily
GtkImageMenuItem always packs a GtkImage when it is synced with a
related action. This is unnecessary when the action doesn't have an icon
set and results in excess padding when a GtkImageMenuItem is put in a
menu bar (GtkUIManager does this).
Fix this by not creating the GtkImage for icon-less actions.
https://bugzilla.gnome.org/show_bug.cgi?id=742181
Benjamin Otte [Sat, 17 Jan 2015 04:11:40 +0000 (05:11 +0100)]
render: Replace gtk_style_context_get_border/padding()
Use _gtk_style_context_peek_property() instead.
Benjamin Otte [Sat, 17 Jan 2015 03:58:24 +0000 (04:58 +0100)]
render: Get rid of gtk_style_context_get_color()
Use _gtk_style_context_peek_property() instead.
Benjamin Otte [Sun, 18 Jan 2015 00:05:12 +0000 (01:05 +0100)]
Adwaita: Make :active button gradient have 3 stops
Just add a 3rd stop in the place where the gradients for the other
states have a 3rd stop. When running transitions between states, this
avoids cross-fades and instead uses the much faster gradient
transitioning code.
Benjamin Otte [Sun, 18 Jan 2015 21:24:35 +0000 (22:24 +0100)]
stylecontext: Be more graceful when save() isn't matched with restore()
Instead of asserting, just print a g_warning() and try to work around
the problem.
I hope that g_warning() isn't too spammy for people that are hit with
it.
Also clarify the docs that not restore()ing after a save() is a bad
idea.
https://bugzilla.gnome.org/show_bug.cgi?id=743101
Benjamin Otte [Mon, 19 Jan 2015 00:07:49 +0000 (01:07 +0100)]
stylecontext: Explicitly specify root node
When creating the query path, explicitly specify if it's for a root node
or for a child. Relying on gtk_style_context_is_saved() is unreliable
(for example when updating the cache).
Matthias Clasen [Sun, 18 Jan 2015 23:59:43 +0000 (18:59 -0500)]
file chooser: Make search work again
The last round of filechooser redesign work had left
search somewhat dysfunctional. This commit fixes things
up enough that search is once again a working feature
of the file chooser.
Matthias Clasen [Sun, 18 Jan 2015 22:56:07 +0000 (17:56 -0500)]
file chooser: Drop the location label
Bringing us close to the new design.
Matthias Clasen [Sun, 18 Jan 2015 22:39:05 +0000 (17:39 -0500)]
file chooser: Don't show 'Enter Location' in save modes
In these modes, the entry is permanently visible anyway.
Matthias Clasen [Sun, 18 Jan 2015 22:21:14 +0000 (17:21 -0500)]
file chooser: Make Ctrl-L work in recent
Just switch to browse mode when we see Ctrl-L in recent mode.
https://bugzilla.gnome.org/show_bug.cgi?id=660450
Matthias Clasen [Sun, 18 Jan 2015 22:13:12 +0000 (17:13 -0500)]
file chooser: Ensure the path bar is initialized
There are some cases where we can end up showing the path
bar without ever setting a file on it. One example is:
1) Open file chooser
2) Hit ~
3) Hit Ctrl-L
While this is a bit of a workaround, at least it makes sure
that we never end up with an empty space where the path bar
is supposed to be.
Matthias Clasen [Sun, 18 Jan 2015 21:57:21 +0000 (16:57 -0500)]
trivial refactoring
Matthias Clasen [Sun, 18 Jan 2015 21:18:12 +0000 (16:18 -0500)]
file chooser: Make ~ and / work in recent
Complained about in
https://bugzilla.gnome.org/show_bug.cgi?id=743117
Matthias Clasen [Sun, 18 Jan 2015 20:26:49 +0000 (15:26 -0500)]
Fix a typo in the docs
https://bugzilla.gnome.org/show_bug.cgi?id=743037
Matthias Clasen [Sun, 18 Jan 2015 20:24:30 +0000 (15:24 -0500)]
broadway: Only use abstract sockets when they are supported
GIO has a function to check whether abstract sockets are
supported, so use it. This should make broadway work on
Freebsd again.
https://bugzilla.gnome.org/show_bug.cgi?id=742980
Matthias Clasen [Sun, 18 Jan 2015 20:15:37 +0000 (15:15 -0500)]
Make Broadway work on freebsd
It seems that posix_fallocate gives an ENODEV error when
called on an fd opened with shm_open on freebsd. Fix up
the error check to only trigger if we get ENOSPC.
https://bugzilla.gnome.org/show_bug.cgi?id=742980
Matthias Clasen [Sun, 18 Jan 2015 19:28:47 +0000 (14:28 -0500)]
Fine-tune the proximity hovering for scrollbars
Reduce the distance at which we expand the scrollbar,
and add some hysteresis.
Dimitris Spingos [Sun, 18 Jan 2015 20:21:29 +0000 (22:21 +0200)]
Updated Greek translation
Matthias Clasen [Sun, 18 Jan 2015 17:40:32 +0000 (12:40 -0500)]
Remove some outdated references
We shouldn't recommend gtk_widget_modify_bg() or
gtk_style_set_background() anymore.
Christoph Reiter [Wed, 10 Dec 2014 08:36:53 +0000 (09:36 +0100)]
Adjust gtk_status_icon_position_menu() annotation to match GtkMenuPositionFunc again
https://bugzilla.gnome.org/show_bug.cgi?id=674537
https://bugzilla.gnome.org/show_bug.cgi?id=742940
Maks Naumov [Sun, 11 Jan 2015 22:54:27 +0000 (14:54 -0800)]
Fix event->button.y_root when using mouse buttons and dnd canceled
Signed-off-by: Maks Naumov <maksqwe1@ukr.net>
https://bugzilla.gnome.org/show_bug.cgi?id=742785